package com.hlingsoft.kkh.dao;

import com.hlingsoft.kkh.entity.MerchantInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 管理员
 * 
 * @author Zhangjiale
 */

@Repository
public interface MerchantDao {

	// ///////////////////////////////
	// ///// 增加 ////////
	// ///////////////////////////////

	/**
	 * 添加商户
	 * 
	 * @param merchant
	 * @return Integer
	 * 
	 */
	public int addMerchant(MerchantInfo merchant);

	/**
	 * 删除商户
	 * @param merchantId
	 * @return Integer
	 */
	public int deleteMerchant(@Param("id") long merchantId);

	/**
	 * 获取所有商户
	 *
	 * @param offset
	 * @param rows
	 * @return List<Admin>
	 *
	 */
	public List<MerchantInfo> getMerchantAllList(@Param("offset") long offset,
								  @Param("rows") long rows);


	public int getMerchantDaoListCount();

	/**
	 * 通过Id获得指定商户资料
	 *
	 * @param merchantId
	 * @return MerchantInfo
	 */
	public MerchantInfo getMerchantById(@Param("id") long merchantId);

	public MerchantInfo getMerchantByPhone(@Param("udPhone") String udPhone);


	public List<MerchantInfo> getMerchantByMerchantNameWhenJobSearch(@Param("merchantName") String merchantName);
	public List<MerchantInfo> getMerchantIdByMerchantName(@Param("merchantName") String merchantName);

	public int getMerchantIdByMerchantNameCount(@Param("merchantName") String merchantName);

	public List<MerchantInfo> getMerchantIdByMerchantNameByPage(@Param("merchantName") String merchantName,@Param("offset") long offset,
												 @Param("rows") long rows);

	public void updateMerchant(MerchantInfo merchantInfo);

	public  List<MerchantInfo> getSearchMerchant(@Param("merchantType") int merchantType,@Param("merchantName") String merchantName,@Param("province") String province,@Param("city") String city,
											@Param("area") String area,@Param("address") String address,@Param("offset") long offset, @Param("rows") long rows);


	public  int getSearchMerchantCount(@Param("merchantType") int merchantType,@Param("merchantName") String merchantName,@Param("province") String province,@Param("city") String city,
									   @Param("area") String area,@Param("address") String address);
}
